Soru & Cevap

Android Json decode Sorunu

17.10.2014 - 07:38

Merhaba Arkadaşlar  bir yerde takıldım bir türlü aşamıyorum problemimi. yapmak istediğim php ile sunucuda veri encode etmek ve android ile de bunu decode etmek.

 

Şuan http://haydianlat.com/test.php şuradan encode ediyorum verilerim hazır ancak android ile decode ederken anahtar => deger mantığı ile çektiği için bana en son değeri gösteriyor.

 

kategori.setText(ogrenciJson.getString("kategori")); mesela şöyle yazdığımda bana en son bilgiyi getiriyor benim bunu array olarak ne kadar veri var ise o kadar çekmem gerekiyor. JsonArray vs araştırdım ama olmuyor bir türlü bu konuda yardım edebililirseniz sevinirim.

 

 

 

13 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-1372-1408467635.jpg
ahmtbrk
17.10.2014 - 10:17

bu jsonda bir problem var ne ile encode ettin bunu? bu bi array yapmamış ki objeler başı boş duruyor

picture-2176-1429627808.jpg
bekirdursun
17.10.2014 - 09:49

JSON yapın aşağıdaki gibi olmalı.

{"icerik":[{"id":"1","kategori":"manzara","link":"fdefd.png"},{"id":"2","kategori":"araba","link":"araba.png"},{"id":"3","kategori":"spor","link":"spor.jpg"},{"id":"4","kategori":"desen","link":"desenresim.png"},{"id":"5","kategori":"hayvan","link":"heyvan.png"}]}

Android kısmı ise;

JSONObject jsonObject = new JSONObject(x);
JSONArray icerik = (JSONArray) jsonObject.get("icerik");

Aşağıdaki kodu da for döngüsüne sokarsan işin görülür.

JSONObject icerik_veri = (JSONObject) icerik.get(i);
id[i] = icerik_veri.getString("id");
kategori[i] = icerik_veri.getString("kategori");
link[i] = icerik_veri.getString("link");